package com.atjava.nebula.core.tablexml.view;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.atjava.jox.annotation.ClassProps;
import com.atjava.jox.annotation.FieldProps;
import com.atjava.jox.annotation.FieldProps.ElementType;

@ClassProps(alias="column")
public class Column implements Serializable{

	@FieldProps
	private String label;
	
	@FieldProps
	private String property;
	
	@FieldProps
	private boolean sort;
	
	@FieldProps
	private String width;
	
	@FieldProps
	private String jsrender; 
	
	@FieldProps(type = ElementType.ELEMENT)
	private Renderer renderer; 
	
	@FieldProps(type = ElementType.ELEMENTLIST)
	private List<Button> buttons;
	
	private Map<Object, Object> rendererMap;

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public String getProperty() {
		return property;
	}

	public void setProperty(String property) {
		this.property = property;
	}

	public boolean isSort() {
		return sort;
	}

	public void setSort(boolean sort) {
		this.sort = sort;
	}

	public String getWidth() {
		return width;
	}

	public void setWidth(String width) {
		this.width = width;
	}

	public List<Button> getButtons() {
		return buttons;
	}

	public void setButtons(List<Button> buttons) {
		this.buttons = buttons;
	}

	public Renderer getRenderer() {
		return renderer;
	}

	public void setRenderer(Renderer renderer) {
		this.renderer = renderer;
	}

	public Map<Object, Object> getRendererMap() {
		return rendererMap;
	}

	public void setRendererMap(Map<Object, Object> rendererMap) {
		this.rendererMap = rendererMap;
	}

	public String getJsrender() {
		return jsrender;
	}

	public void setJsrender(String jsrender) {
		this.jsrender = jsrender;
	}
	
}
